var GylUtils = {
    /**
     * 基础数据模块
     */
    basedata: {
        /**
         * 基础数据模块的查询页面的删除功能的js处理
         */
        deleteObj: {
            /**
             * 当页面上的复选框被选中以后，点击删除按钮要做的事情
             */
            deleteFunction: function (config) {
                $.deleteObj(config);
            }
        },
        /**
         * 修改的逻辑
         */
        updateObj: {
            updateFunction: function (config) {
                $.updateEvent(config);
            }
        },
        /**
         * 分页的逻辑
         */
        dispage: {
            /**
             * 当点击首页、上一页、下一页、尾页的时候，要跳转到的action
             */
            linkNextPage: function () {
                /**
                 * this为当前的按钮
                 */
                var currentPage = $(this).attr("param");
                var url = $("body").data("url");
                window.location.href = url + "?pageNum=" + currentPage;
            }
        },
        /**
         * 初始化事件
         */
        initEvent: function () {
            /**
             * 给首页添加click事件
             */
            $("input[flag='firstPage']").unbind("click");
            $("input[flag='firstPage']").bind("click", function () {

                /**
                 * this就代表首页的按钮
                 */
                GylUtils.basedata.dispage.linkNextPage.call(this);
            });

            /**
             * 给上一页添加click事件
             */
            $("input[flag='prePage']").unbind("click");
            $("input[flag='prePage']").bind("click", function () {
                if ($(this).attr("param") == "0") {
                    alert("已经是第一页了");
                } else {
                    /**
                     * this就代表首页的按钮
                     */
                    GylUtils.basedata.dispage.linkNextPage.call(this);
                }
            });

            /**
             * 给下一页添加click事件
             */
            $("input[flag='nextPage']").unbind("click");
            $("input[flag='nextPage']").bind("click", function () {
                /**
                 * linkNextPage函数中的this代表"下一页"的按钮的对象
                 */
                var totalPages = $(this).attr("last");//总的页数
                if ($(this).attr("param") > totalPages) {//已经没有下一页了
                    alert("已经是最后一页了");
                } else {
                    GylUtils.basedata.dispage.linkNextPage.call(this);
                }
            });

            /**
             * 给尾页添加click事件
             */
            $("input[flag='lastPage']").unbind("click");
            $("input[flag='lastPage']").bind("click", function () {
                GylUtils.basedata.dispage.linkNextPage.call(this);
            });
        }
    },
    /**
     * 权限模块
     */
    privilege: {},
    /**
     * 业务模块
     */
    business: {
        /**
         * 所有的业务模块中的add操作
         */
        add: {
            /**
             * 弹出的div的操作
             */
            divOpt: {
                tr: '',
                /**
                 * 显示div
                 */
                showDiv: function () {
                    $("#seek").show();
                    $.fn.GridPanel.createTable({
                        url: '/business/salePredictOrder/listProduct',
                        fields: $("#seek *[item]")
                    });
                },
                /**
                 * 获取选中的radio,把radio所在的那行的值填充到主表相应的行对应的列中
                 */
                fillValueToField: function () {
                    var checkedRadio = $(":radio:checked");//被选中的radio
                    var divTDS = checkedRadio.parent().siblings("td");//被选中的radio所在的td的兄弟节点
                    //要回显的数据所在的tr
                    var $tr = GylUtils.business.add.divOpt.tr;
                    $.each(divTDS, function () {//遍历每一个divTDS
                        var itemValue = $(this).attr("item");//正在遍历的每一个td的item属性的值
                        if (itemValue == "productName") {
                            $tr.children("td[item='" + itemValue + "']").children("div").children("input").attr("value", $(this).text());
                        } else {
                            $tr.children("td[item='" + itemValue + "']").children("input").attr("value", $(this).text());
                        }
                    });
                    $("#seek").hide();
                }
            },

            divProductFrame: {
                /**
                 * 点击商品名称的查询，弹出一个div框
                 */
                divProdctFrameEvent: function () {
                    $(".searRR").unbind("click");
                    $(".searRR").bind("click", function () {
                        /*
                         * 在弹出div框以后，要选择某一个radio,然后把选择的数据回显到子表中，所以
                         * 必须确定子表中的某一行
                         */
                        GylUtils.business.add.divOpt.showDiv();
                        //找到要回显到子表中的数据的那一行
                        GylUtils.business.add.divOpt.tr = $(this).parent().parent().parent();
                    });
                },
                /**
                 * 给弹出的div框的确定按钮添加click事件
                 */
                divProductFrameSureEvent: function () {
                    $(".btn").unbind("click");
                    $(".btn").bind("click", function () {
                        GylUtils.business.add.divOpt.fillValueToField();
                        return false;
                    });
                }
            }
        },
        /**
         * 当点击主表中的某一行的处理逻辑
         */
        getZhibByZhuID: function () {
            var zhuid = $(this).attr("id");
            /**
             * 把当前点击的主表中的某一行的主表ID赋值给<s:hidden name="query_zhib.xsyddzhubid"></s:hidden>
             * 当点击子表中的分页的时候，把主表中该行的id的值传递到后台
             */
            $("input[name='childQuery.salePredictOrderMainId'][type='hidden']").attr("value", zhuid);
            window.location.href = $("body").data("url") + zhuid;
        },
        /**
         * 给主表中的查询添加click事件
         */
        zhubTRClick: function () {//当点击主表中的某一行的时候，根据主表id加载子表
            $("tr[field='item_zhub']").unbind("click");
            $("tr[field='item_zhub']").bind("click", function () {
                GylUtils.business.getZhibByZhuID.call(this);
            });
        },
        /**
         * 业务模块关于分页的事件
         */
        disPage: {
            /**
             * 点击主表分页的上一页、下一页、首页、尾页要做的事情
             */
            zhubLinkHref: function () {
                /**
                 * 获取到点击的那一页
                 */
                var currentPage = $(this).attr("param");
                //把当前页赋值给分页控件的表单元素
                $("#pageNo").attr("value", currentPage);
                document.forms[0].submit();
            },
            /**
             * 点击子表分页的上一页、下一页、首页、尾页要做的事情
             */
            zhibLinkHref: function () {
                /**
                 * 获取到点击的那一页
                 */
                var currentPage = $(this).attr("param");
                //把当前页赋值给分页控件的表单元素
                $("#pageNo_zhib").attr("value", currentPage);
                document.forms[0].submit();
            },
            /**
             * 主表的分页的事件
             */
            zhubDispageEvent: function () {
                /**
                 * 首页
                 */
                $("input[flag='zhub_firstPage']").unbind("click");
                $("input[flag='zhub_firstPage']").bind("click", function () {
                    if ($(this).attr("param") == "0") {
                        alert("已经是第一页了");
                    } else {
                        GylUtils.business.disPage.zhubLinkHref.call(this);
                    }
                });
                /**
                 * 上一页
                 */
                $("input[flag='zhub_prePage']").unbind("click");
                $("input[flag='zhub_prePage']").bind("click", function () {
                    GylUtils.business.disPage.zhubLinkHref.call(this);
                });
                /**
                 * 下一页
                 */
                $("input[flag='zhub_nextPage']").unbind("click");
                $("input[flag='zhub_nextPage']").bind("click", function () {
                    GylUtils.business.disPage.zhubLinkHref.call(this);
                });
                /**
                 * 尾页
                 */
                $("input[flag='zhub_lastPage']").unbind("click");
                $("input[flag='zhub_lastPage']").bind("click", function () {
                    GylUtils.business.disPage.zhubLinkHref.call(this);
                });
            },
            /**
             * 子表的分页的事件
             */
            zhibDispageEvent: function () {
                /**
                 * 首页
                 */
                $("input[flag='zhib_firstPage']").unbind("click");
                $("input[flag='zhib_firstPage']").bind("click", function () {

                });
                /**
                 * 上一页
                 */
                $("input[flag='zhib_prePage']").unbind("click");
                $("input[flag='zhib_prePage']").bind("click", function () {

                });
                /**
                 * 下一页
                 */
                $("input[flag='zhib_nextPage']").unbind("click");
                $("input[flag='zhib_nextPage']").bind("click", function () {
                    GylUtils.business.disPage.zhibLinkHref.call(this);
                });
                /**
                 * 尾页
                 */
                $("input[flag='zhib_lastPage']").unbind("click");
                $("input[flag='zhib_lastPage']").bind("click", function () {

                });
            }
        }
    }
};
